package com.zhhs.project.act.activity.mapper;


import com.zhhs.project.act.activity.domian.ActActivityPrize;
import com.zhhs.project.act.activity.domian.ActGiftVo;
import com.zhhs.project.act.appactivity.domian.AppPrizeVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 派奖方式Mapper接口
 *
 * @author peng
 * @date 2022-11-09
 */
public interface ActActivityPrizeMapper
{
    /**
     * 查询派奖方式
     *
     * @param id 派奖方式主键
     * @return 派奖方式
     */
    public ActActivityPrize selectActActivityPrizeById(Long id);

    /**
     * 查询派奖方式列表
     *
     * @param actActivityPrize 派奖方式
     * @return 派奖方式集合
     */
    public List<ActActivityPrize> selectActActivityPrizeList(ActActivityPrize actActivityPrize);

    /**
     * 新增派奖方式
     *
     * @param actActivityPrize 派奖方式
     * @return 结果
     */
    public int insertActActivityPrize(ActActivityPrize actActivityPrize);

    /**
     * 批量新增派奖方式
     * @param list
     * @return
     */
    public int insertActActivityPrizeList(List<ActActivityPrize> list);

    /**
     * 修改派奖方式
     *
     * @param actActivityPrize 派奖方式
     * @return 结果
     */
    public int updateActActivityPrize(ActActivityPrize actActivityPrize);

    /**
     * 删除派奖方式
     *
     * @param id 派奖方式主键
     * @return 结果
     */
    public int deleteActActivityPrizeById(Long id);

    /**
     * 根据活动id删除派奖方式
     * @param activityId
     * @return
     */
    public int deleteActActivityPrizeByActivityId(Long activityId);

    /**
     * 批量删除派奖方式
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteActActivityPrizeByIds(String[] ids);

    /**
     * 查询活动奖项
     * @param activityId
     * @return
     */
    public List<ActActivityPrize> selectActActivityPrizes(Long activityId);

    /**
     * 复制数据
     * @param activityOldId
     * @param activityNewId
     * @return
     */
    public int copyData(@Param("activityOldId") Long activityOldId, @Param("activityNewId") Long activityNewId);

    /**
     * 奖品列表
     * @param activityId
     * @return
     */
    public List<AppPrizeVo> selectPrizeList(Long activityId);
    //查看历史获奖名单
    List<ActGiftVo> historyGiftList(Long activityId);
}
